package cn.centec.bid.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 标准 - 合同创建参数
 *
 * 调用：采购系统 > 采购中心
 *
 * @author 延晓磊
 * @since 2022年11月03日
 */
@Data
public class StandardContractCreateParam {

    // 采购编号（StandardPurchaseStartParam.id）【为空表示手录合同，非空表示定标合同】
    private String pid;
    // 采购商ID
    private Long orgId;
    // 供应商ID
    private Long supplierId;
    // 合同编号
    private String contractNo;
    // 合同名称
    private String contractName;
    // 合同类型：1 年度框架协议，2 长期合同，3 单批次合同，11 框架协议价格确认书
    private String contractType;
    // 合同内容
    private String content;
    // 合同附件
    private String fileUrl;
    // 合同金额
    private BigDecimal amount;
    // 联系人（价格确认书不传）
    private String contactUser;
    private String contactPhone;
    // 合同期限（价格确认书不传）
    private String startDate;
    private String endDate;
    // 框架协议合同编号【价格确认书必传，合同不传】
    private String parentId;
    // 物资项【手录合同时传；定标合同不传，根据定标信息获取】
    private List<Material> materialList;

    /**
     * 物资项（手录合同）
     *
     * @author 延晓磊
     * @since 2022年11月03日
     */
    @Data
    public static class Material {

        // 源ID（采购物资项：手录合同，自定义序列；定标合同，引用 StandardPurchaseStartParam.Material.id）
        private String dataId;
        // 物资编码【NULL】
        private String code;
        // 物资名称
        private String name;
        // 数量
        private BigDecimal num;
        // 单价
        private BigDecimal price;
        // 计量单位
        private String unit;
        // 品牌/制造商【NULL】
        private String brand;
        // 规格型号【NULL】
        private String model;
        // 备注【NULL】
        private String remarks;
    }
}
